The present disclosure is directed to management of graphics processes in a computer system.
In computer systems, different parts of a system may require different representations of a common graphical asset, such as a video frame. Accordingly, graphics processing units possess systems to convert such assets among different possible representations. Operation of the graphics processing units can be defined flexibly according to a rendering pipeline, which defines the different conversion processes that will be invoked to convert the asset from one representation to another. The rendering pipeline often is described in a shader program which is compiled for execution by a GPU.
Execution of the rendering pipeline consumes computing resources. First, execution of each stage of the pipeline consumes processing resources. Moreover, data that is generated by one stage of the pipeline typically is buffered before being consumed by a second stage of the pipeline, which necessitates allocation of memory resources for each stage in the pipeline. And, when rendering pipelines are developed to process video assets rather than still image assets, resource consumption issues grow even further.
The inventors have determined that pipelines often are not defined to contain the minimal number of processing stages that are necessary to convert assets from one representation to another. Accordingly, there is a need in the art to remove unnecessary processing stages from pipelines and, by extension, conserve resources in graphics processing systems.